<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Mindscape.LightSpeed.Linq</name>
    </assembly>
    <members>
        <member name="T:Mindscape.LightSpeed.Linq.Plan.LinqQueryBuilder">
            <summary>
            An expression visitor which translates a LINQ expression tree into a LightSpeed query expression plan
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Plan.ExpressionVisitor">
            <summary>
            Abstract class which allows us to walk an expression tree
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Grouping`2">
            <summary>
            Simple implementation of the IGrouping interface
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TElement"></typeparam>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.Grouping`2.#ctor(`0,System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Creates a grouping set with a given key and enumerable set of values
            </summary>
            <param name="key">The key for the grouping</param>
            <param name="group">The enumerable collection of values for the grouping</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.Grouping`2.GetEnumerator">
            <summary>
            Returns an enumerator to the values in this grouping
            </summary>
            <returns></returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Grouping`2.Key">
            <summary>
            Returns the key value for the grouping
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Utils.TypedSubtreeFinder">
            <summary>
            Finds the first sub-expression that is of a specified type
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.LinqQueryProvider">
            <summary>
            A LINQ provider which handles the translation into and execution of LightSpeed queries
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LinqQueryProvider.Execute(System.Linq.Expressions.Expression)">
            <summary>
            The core action of the LINQ provider, translates a query and then either compiles or executes it
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LinqQueryProvider.GetExecutionPlan(System.Linq.Expressions.Expression)">
            <summary>
            Convert the LINQ query expression into an LightSpeed query execution plan
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LinqQueryProvider.Translate(System.Linq.Expressions.Expression)">
            <summary>
            Do all query translations execpt building the execution plan
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LinqQueryProvider.CanBeEvaluatedLocally(System.Linq.Expressions.Expression)">
            <summary>
            Determines whether a given expression can be executed locally. 
            (It contains no parts that should be translated to the target environment.)
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Utils.PartialEvaluator">
            <summary>
            Rewrites an expression tree so that locally isolatable sub-expressions are evaluated and converted into ConstantExpression nodes.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.Utils.PartialEvaluator.Eval(System.Linq.Expressions.Expression,System.Func{System.Linq.Expressions.Expression,System.Boolean})">
            <summary>
            Performs evaluation and replacement of independent sub-trees
            </summary>
            <param name="expression">The root of the expression tree.</param>
            <param name="fnCanBeEvaluated">A function that decides whether a given expression node can be part of the local function.</param>
            <returns>A new tree with sub-trees evaluated and replaced.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Utils.PartialEvaluator.SubtreeEvaluator">
            <summary>
            Evaluates and replaces sub-trees when first candidate is reached (top-down)
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Utils.PartialEvaluator.Nominator">
            <summary>
            Performs bottom-up analysis to determine which nodes can possibly
            be part of an evaluated sub-tree.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.CompiledLinqQuery">
            <summary>
            Provides methods for creating compiled queries.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.CompiledLinqQuery.Compile``1(System.Linq.IQueryable{``0})">
            <summary>
            Creates a compiled Find query.
            </summary>
            <typeparam name="T">The type of entity to be loaded.</typeparam>
            <param name="query">The query to compile.</param>
            <returns>A compiled query which can be executed to load the entities specified by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.CompiledLinqQuery.Compile``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{System.Linq.IQueryable{``0},``1}})">
            <summary>
            Creates a compiled scalar query.  A scalar query involves an operator such as Count which returns
            a single value instead of a query.
            </summary>
            <typeparam name="TEntity">The type of entity being queried.</typeparam>
            <typeparam name="TResult">The type of the scalar result.</typeparam>
            <param name="query">The query to compile.</param>
            <param name="expression">The scalar expression to apply to the query.</param>
            <returns>A compiled query which can be executed to obtain the result of the query.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators">
            <summary>
            Contains LightSpeed-specific query operators.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.WithAggregate``1(System.Linq.IQueryable{``0},System.String)">
            <summary>
            Associates a named aggregate with a query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> with which to
            associate the aggregate.</param>
            <param name="aggregateName">The aggregate name.</param>
            <returns>An <see cref="T:System.Linq.IQueryable`1"/> which will perform the
            same query, but with the named aggregate.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.WithViewName``1(System.Linq.IQueryable{``0},System.String)">
            <summary>
            Associates a view with a query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> with which to
            associate the view.</param>
            <param name="viewName">The view name.</param>
            <returns>An <see cref="T:System.Linq.IQueryable`1"/> which will perform the
            same query, but over the specified view instead of the standard table.</returns>
            <remarks>
            This extension will execute the same behavior as UnitOfWork.Query[T](viewName).
            If you are repeatedly using a view then the other approach may be preferrable 
            and can be specified as part of your typed UnitOfWork using a partial class
            </remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.IncludeDeleted``1(System.Linq.IQueryable{``0})">
            <summary>
            Specifies that soft-deleted entities should be included in a query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> in which to
            include deleted items.</param>
            <returns>An <see cref="T:System.Linq.IQueryable`1"/> which will perform the
            same query, but with soft-deleted entities included.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.IncludeFiltered``1(System.Linq.IQueryable{``0})">
            <summary>
            Specifies that implicitly filtered entities should be included in a query (that is,
            implicit filters should be bypassed).
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> in which to
            include filtered items.</param>
            <returns>An <see cref="T:System.Linq.IQueryable`1"/> which will perform the
            same query, but with implicitly filtered entities included.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.WithProviderOptions``1(System.Linq.IQueryable{``0},Mindscape.LightSpeed.Data.ProviderOptions)">
            <summary>
            Associates database-specific options with a query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> with which to
            associate the database-specific options.</param>
            <param name="providerOptions">The database-specific options.  The type of options object must
            correspond to the database provider against which you execute the query.</param>
            <returns>An <see cref="T:System.Linq.IQueryable`1"/> which will perform the
            same query, but with the specified database-specific options.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.WithHints``1(System.Linq.IQueryable{``0},System.Action{Mindscape.LightSpeed.Querying.Hints})">
            <summary>
            Associates database-specific hints with a query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> with which to
            associate the database-specific options.</param>
            <param name="hints">The database-specific hints.  This is expressed as a set of
            actions to be applied to a <see cref="T:Mindscape.LightSpeed.Querying.Hints"/> object.</param>
            <returns>An <see cref="T:System.Linq.IQueryable`1"/> which will perform the
            same query, but with the specified database-specific options.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.Remove``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
            <summary>
            Removes the entities associated with the query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> with which to scope the removal.</param>
            <param name="criteria">The criteria to be used for filtering the removal</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.Remove``1(System.Linq.IQueryable{``0})">
            <summary>
            Removes the entities associated with the query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> with which to scope the removal.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.WithIndexHint``1(System.Linq.IQueryable{``0},System.String[])">
            <summary>
            Associates database-specific index hints with a query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> with which to
            associate the database-specific options.</param>
            <param name="indexes">The database indexes to pass to the database query
            planner in the hint.</param>
            <returns>An <see cref="T:System.Linq.IQueryable`1"/> which will perform the
            same query, but with the specified database-specific options.</returns>
            <remarks>Supported on SQL Server and Oracle only.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.LightSpeedQueryOperators.WithTableHint``1(System.Linq.IQueryable{``0},System.String[])">
            <summary>
            Associates database-specific table hints with a query.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> with which to
            associate the database-specific options.</param>
            <param name="hints">The database table hints to pass to the database query
            planner in the hint.</param>
            <returns>An <see cref="T:System.Linq.IQueryable`1"/> which will perform the
            same query, but with the specified database-specific options.</returns>
            <remarks>Supported on SQL Server only.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Plan.GroupResultsPlan">
            <summary>
            A query plan for performing roll-ups of grouping queries into the expected set of client side collections
            associated with an entity key which is not performed by the LightSpeed core
            </summary>
            <remarks>
            REVIEW NEEDED:
            This plan is used by GroupBy. Potentially we have some cross-over here with the ProjectGrouping action and
            we should look to review if these can be merged, ideally into ProjectGrouping with this plan being removed
            </remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.Plan.GroupResultsPlan.GenerateKeyMapFromReader(System.Collections.Generic.IEnumerable{Mindscape.LightSpeed.Querying.Group},System.Data.IDataReader,Mindscape.LightSpeed.LightSpeedContext)">
            <summary>
            Creates a simple mapping of index between grouping keys and the position of the record in the reader
            </summary>
            <remarks>
            Currently should be sufficient for what we need, however this may likely fall down when the field names are not
            simple and we need to determine the table alias, and or column alias to be able to map properly
            </remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Plan.MultipleQueryPlan">
            <summary>
            A query plan for handling execution and merging of two or more inner queries
            </summary>
            <remarks>
            DESIGN DECISION SERVER/CLIENT:
            This plan primarily supports the multi-set SQO's such as Concat, Union, Intersect and SequenceEqual
            some of which we probably dont want to support because they would mask poorly running queries
            
            REVIEW:
            Some of this behavior can actually be performed client side, so we should investigate if this is the case
            given the improvements made with Selectable
            </remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.AggregateNotFoundOnAnonymousType">
            <summary>
              Looks up a localized string similar to Could not locate declaration of anonymous type which contains the aggregate member.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.AggregateNotLightSpeedProperty">
            <summary>
              Looks up a localized string similar to Aggregate member is not an attribute which is derived from a LightSpeed entity.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.CannotUseUninitialisedMembers">
            <summary>
              Looks up a localized string similar to The member {0}.{1} has no supported translation in LightSpeed..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.ChildCollectionsNotSupportedAsGroupingKey">
            <summary>
              Looks up a localized string similar to Child collections are not supported as grouping keys.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.FunctionBeingAppliedToNonFunctionWrappableExpressions">
            <summary>
              Looks up a localized string similar to Cannot apply a function to the expressions {0} and {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.GroupingKeyIsNotDefined">
            <summary>
              Looks up a localized string similar to Grouping key is not defined on the entity.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.NestedSelectsNotSupported">
            <summary>
              Looks up a localized string similar to Nested selects not supported.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.NoForeignKeyProperty">
            <summary>
              Looks up a localized string similar to Foreign key property for collection {0} does not exist or is not accessible.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.NotChildCollectionExpression">
            <summary>
              Looks up a localized string similar to {0} does not represent a child collection.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.NullValueCannotBeAssignedToNonNullableValueType">
            <summary>
              Looks up a localized string similar to The null value cannot be assigned to a member with type {0} which is a non-nullable value type..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.OperationSupportsOnlyLiterals">
            <summary>
              Looks up a localized string similar to Only arguments that can be evaluated on the client are supported for the &apos;{0}&apos; method..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.SequenceContainsMoreThanOneElement">
            <summary>
              Looks up a localized string similar to The sequence contains more than one element.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.SequenceContainsNoElements">
            <summary>
              Looks up a localized string similar to The sequence contains no elements.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.SubexpressionsNotPermittedInSelectMany">
            <summary>
              Looks up a localized string similar to Subexpressions are not permitted in a SelectMany.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.TypeIsNotEntityType">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; is not a LightSpeed Entity type.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.UnableToUseSpecifiedDefaultValue">
            <summary>
              Looks up a localized string similar to Unable to use specified default value.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.UnexpectedExpressionInSubexpression">
            <summary>
              Looks up a localized string similar to Unexpected expression type while resolving subexpression..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.UnsupportedBinaryOperator">
            <summary>
              Looks up a localized string similar to The binary operator &apos;{0}&apos; is not supported.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.UnsupportedMethod">
            <summary>
              Looks up a localized string similar to The method &apos;{0}&apos; is not supported..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.UnsupportedMethodInComplexQuery">
            <summary>
              Looks up a localized string similar to The method &apos;{0}&apos; is not supported in this kind of query..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.UnsupportedMethodOverload">
            <summary>
              Looks up a localized string similar to This overload of method &apos;{0}&apos; has no supported translation in LightSpeed..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.UnsupportedProjectionInAggregationOperator">
            <summary>
              Looks up a localized string similar to Unsupported projection in aggregation operator &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Linq.Properties.Resources.UnsupportedSqoOverload">
            <summary>
              Looks up a localized string similar to Unsupported overload used for query operator &apos;{0}&apos;..
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.ServerFunctionDescriptor">
            <summary>
            Represents a server-side function such as a built-in SQL
            function or a UDF.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.ServerFunctionDescriptor.Register(System.Reflection.MethodInfo,System.String)">
            <summary>
            Registers a mapping from a CLR method to a server-side function.
            </summary>
            <param name="clrMethod">The CLR method to be mapped.</param>
            <param name="sqlFunctionName">The server-side function name.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.ServerFunctionDescriptor.Register(System.Reflection.MethodInfo,System.String,System.Int32)">
            <summary>
            Registers a mapping from a CLR method to a server-side function.
            </summary>
            <param name="clrMethod">The CLR method to be mapped.</param>
            <param name="sqlFunctionName">The server-side function name.</param>
            <param name="implicitArgumentIndex">The position in the server-side function's argument list at which
            the client-side implicit ('this') argument appears.</param>
            <remarks>To illustrate the use of implicitArgumentIndex, consider the following
            client-side query: from m in uow.Members select m.UserName.IndexOf('a').  On SQL
            Server this translates to CHARINDEX('a', UserName): i.e. the object to which
            IndexOf was applied appears at index 1 in CHARINDEX's argument list.  So the
            implicitArgumentIndex should be 1.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.Sqo.JoinBase.ProcessJoinConditionExpression(Mindscape.LightSpeed.Linq.Plan.LinqQueryPlanExpression,Mindscape.LightSpeed.Querying.IAttributePathExpression,Mindscape.LightSpeed.Querying.Selectable)">
            <remarks>
            If there is a traversal to be managed then we need to use the ExtractJoinsForJoinCriteria walk
            to walk the traversal path and join as required. Simple scenarios only require us to return
            a join condition specifying the path returned in the PathExpression
            </remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Plan.SingleQueryPlan">
            <summary>
            A query plan for handling a standard single LightSpeed query
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.UnitOfWorkExtensions">
            <summary>
            Provides extension methods for defining LINQ queries on an <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.UnitOfWorkExtensions.Query``1(Mindscape.LightSpeed.IUnitOfWork)">
            <summary>
            Returns a query against the unit of work.
            </summary>
            <param name="unitOfWork">The unit of work.</param>
            <returns>A query which may be enumerated to obtain the results.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.UnitOfWorkExtensions.Query``1(Mindscape.LightSpeed.IUnitOfWork,System.String)">
            <summary>
            Returns a query against the unit of work.
            </summary>
            <param name="unitOfWork">The unit of work.</param>
            <param name="viewName">The view to query.</param>
            <returns>A query which may be enumerated to obtain the results.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Linq.UnitOfWorkExtensions.Query``2(``0,System.Linq.Expressions.Expression{System.Func{``0,Mindscape.LightSpeed.EntityCollection{``1}}})">
            <summary>
            Returns a query for elements of the child collection.
            </summary>
            <typeparam name="TEntity">The type of the parent entity.</typeparam>
            <typeparam name="TCollectionElement">The type of entities in the child collection.</typeparam>
            <param name="entity">The entity whose child collection is to be queried.</param>
            <param name="collection">An expression representing the child collection to be queried.</param>
            <returns>A query which may be enumerated to obtain the results.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Linq.Utils.TypeHelper">
            <summary>
            Type related helper methods
            </summary>
        </member>
    </members>
</doc>
